jak dostat hodnoty z TWebModule do promenne
Otázka od: Jirka Virt
8. 4. 2004 18:53
Ahoj,
mam ISAPI web aplikaci.
Jak dostanu z tagu hodnoty do promennych?
priklad:
webdemo.dll/test?hodnota=12345
jde mi o tu hodnotu 12345, jak ji po odeslani dostat do promennych?
Diky
Jirka
Odpovedá: Peter Ondras
9. 4. 2004 11:34
(*
Tu je ukazka jednej akcie, ktora nacita nejake 3 hodnoty a vypise ich. V
casti "vygenerovanie stranky" v ramci bloku try..except si mozes doplnit
akykolvek kod (nacitanie udajov z databaz, rozne vypocty a pod.). V
tejto casti su pridavanim "HTML.Add('<nejaky_html_zdrojak>');" doplnas
vizualny vystup. Mozes tu volne pouzivat CSS, tabulky, javascript a pod.
Header a footer (napr. cast <html> a </html>, resp. nejaka cela
hlavicka=zakladny dizajn) mozes nacitavat zo suborov, cim si ulahcis v
buducnosti zmenu dizajnu. Ak chces o tom viac info, tak nie je problem
sukromne
*)
procedure TIshopModule.IshopModuleAction1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var HTML: TStringList;
hodnota, premenna2, premenna3: String;
begin
//vynulovanie premennych
hodnota:='';
premenna1:='';
premenna2:='';
//nacitanie premennych
if Request.MethodType=mtGet then
begin
//metoda GET
hodnota:=Request.QueryFields.Values['hodnota'];
premenna1:=Request.QueryFields.Values['premenna2'];
premenna1:=Request.QueryFields.Values['premenna3'];
end
else if Request.MethodType=mtPost then
begin
//metoda POST
hodnota:=Request.ContentFields.Values['hodnota'];
premenna1:=Request.ContentFields.Values['premenna2'];
premenna2:=Request.ContentFields.Values['premenna3'];
end;
//vygenerovanie stranky
HTML:=TStringList.Create;
try
try
HTML.Clear;
HTML.Add('<html>');
HTML.Add('<body>');
HTML.Add(' <p>Premenna hodnota je: '+hodnota+'</p>');
HTML.Add('</body>');
HTML.Add('</html>');
except
//chybova stranka (v pripade, ze nastane nejaka chyba)
HTML.Clear;
HTML.Add('<html>');
HTML.Add('<body>');
HTML.Add(' <h1>Nastala chyba pri generovani stranky!</h1>');
HTML.Add('</body>');
HTML.Add('</html>');
end;
finally
//vratenie vysledku do prehliadaca
Response.Content:=HTML.Text;
HTML.Free;
end;
end;
> -----Original Message-----
> Jak dostanu z tagu hodnoty do promennych?
>
> priklad:
>
> webdemo.dll/test?hodnota=12345
>
Odpovedá: Jiri Virt
9. 4. 2004 11:37
prima diky .. uz jsem na to vecer s pomoci bozi a knizkama prisel
nj .. ale za zadnou cenu nemuzu otevrit tabulku ... pritom jsem to uz nekdy
pred rokem zkousel a vsechno OK... nj ... musim hledat dal... zajimavy, ze
sem nerozebehnul ani ukazkovou aplikaci.pritom v navrhu tabulky normalne
otevru .... je to zahada
Ale preci jenom bych potreboval radu.
jak debugovat isapi? na netu jsem nasel navody ... vsechno mam nastaveno ..
v D pustim RUN , DLL se zavede, pohybuji se po strankach .. ale jaksi mi to
ne a ne zastavit na miste, kde si dam breakpoint. Je na miste , kterym
prochazi, to jen tak pro uplnost .. takze totalne nechapu, proc D nereaguje.
D5 profi WinXP
Jirka